package com.efast.cafe.portal.dao.company;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.efast.cafe.portal.bean.company.PortalCompanyPositionBean;
import com.efast.cafe.portal.bean.company.PortalCompanyPositionQueryForm;
import com.efast.cafe.portal.entity.company.PortalCompanyPosition;

public interface PortalCompanyPositionDao {

	int queryCount(PortalCompanyPositionQueryForm queryForm);

	/**
	 * 分页查询
	 * 
	 * @Date : 2016-8-16
	 * @param portalCompanyPosition
	 * @return
	 */
	public List<PortalCompanyPositionBean> querylistPosition(PortalCompanyPositionQueryForm portalCompanyPosition);

	/**
	 * 验证除了本身的唯一性
	 * 
	 * @Date : 2016-8-16
	 * @param id
	 * @param orgCode
	 * @return
	 */
	public int orgCodeIsExistWithId(@Param(value = "id") Long id, @Param(value = "positionCode") String positionCode,
			@Param(value = "companyCode") String companyCode);

	/**
	 * 通过id查询单个
	 * 
	 * @Date : 2016-8-17
	 * @param portalCompanyPositionId
	 * @return
	 */
	public PortalCompanyPositionBean queryPositionById(
			@Param(value = "portalCompanyPositionId") Long portalCompanyPositionId);

	/**
	 * @Date : 2016-9-1
	 * @param requestUser
	 * @param requestCompany
	 * @return
	 */
	public List<PortalCompanyPosition> queryByUserHasPosition(@Param(value = "requestUser") String requestUser,
			@Param(value = "companyCode") String companyCode);

	/**
	 * 获取当前用户默认职位
	 * 
	 * @Date : 2016年11月9日
	 * @return
	 */
	public PortalCompanyPosition getCurrentUserPosition(@Param(value = "requestUser") String requestUser,
			@Param(value = "companyCode") String companyCode);

	/**
	 * 根据组织id查询职位信息
	 * 
	 * @param orgId
	 *            null则查询所有组织
	 * @param companyCode
	 * @return List<PortalCompanyPosition>
	 * @Author Administrator
	 * @Date 2017年9月26日
	 */
	public List<PortalCompanyPositionBean> queryAllPosition(@Param(value = "orgId") Integer orgId,
			@Param(value = "companyCode") String companyCode);
}
